home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Online / NNTPd / README-conf.h < prev    next >
Text File  |  2002-12-03  |  19KB  |  499 lines

  1.      You will need to customize conf.h to get the server and programs running
  2. on your system. 
  3.  
  4.     >>> Also, you should see README.SVR2 if you are compiling this on
  5.     >>> a System V Release 2 machine, as there is some extra stuff you need
  6.     >>> to do.
  7.  
  8.     >>> Also, you should see README.SVR3 if you are compiling this on
  9.     >>> a System V Release 3 machine, as there is some extra stuff you need
  10.     >>> to do.
  11.  
  12.     >>> Also, you should see README.SVR4 if you are compiling this on
  13.     >>> a System V Release 4 machine, as there is some extra stuff you need
  14.     >>> to do.
  15.  
  16.     >>> Also, you should see README.MTXNIU if you are compiling this
  17.     >>> on a system running MTXNIU BSD + NFS. 
  18.  
  19.     >>> Also, you should see README.IRIX, if you are compiling this on the
  20.     >>> SGI IRIS.
  21.  
  22.     >>> Also, you should see README.XENIX, if you are compiling this on
  23.     >>> a machine running SCO XENIX with TCP.
  24.  
  25.     >>> Also, you should see README.HPUX, if you are compiling this under
  26.     >>> HP-UX.
  27.  
  28.      FIRST, copy conf.h.dist to conf.h and alter ONLY conf.h.
  29.  
  30.      This is sort of a walk through conf.h so you can get some idea of
  31. what parameters need to be changed.  You should probably print this
  32. file out (or keep it in a separate window if you're on a workstation)
  33. and edit conf.h as you read through it.  For each #define in conf.h,
  34. the default value is listed in parenthesis after its name in this
  35. document.  Manual entries mentioned here are in the "doc" directory of
  36. the NNTP distribution.
  37.  
  38.      First are some compile-time type options, for compiling in
  39. certain code.  The options should be "#undef"ed if you don't want
  40. them, and "#defined" if you do.
  41.  
  42. ALONE        (undefined)
  43.  
  44.      Defines whether we're a stand alone version of the server, or
  45. whether we're running under inetd.  Define this if you do NOT have inetd.
  46. If you do have inetd, keep it undef'ed.
  47.  
  48. FASTFORK    (undefined)
  49.  
  50.      If ALONE is defined, then this option tells us not to read the
  51. active file when we fork, but rather for the parent daemon to re-read
  52. it every READINTVL (below) seconds.  This should make forking off children
  53. a little bit faster.
  54.  
  55. LOAD    (defined as 5)
  56.     You can have nntp findout the load average on a BSD-type machine
  57. (sun or ultrix) and if the load average is higher than LOAD, the connection
  58. will be rejected.
  59.  
  60. DYNAMIC_ART_ARRAY    (defined)
  61.     Originally, nntpd assumes a specific maximum number of articles on
  62. line per group. (See MAX_ARTICLES definition below.) This has proven to be
  63. a problem at some sites, so with this defined nntp will dynamically allocate
  64. a larger article array as needed.
  65.     
  66. BSD_42        (undefined)
  67.  
  68.      If you have a 4.2 BSD system (as opposed to a 4.3 BSD system),
  69. this needs to be defined.  Really it does only two things: changes
  70. the log level to be compatible with 4.2, and automatically defines
  71. DBM (below).  If, somehow, you already have ndbm, then you should
  72. kill the lines which auto-define it.
  73.  
  74. BSD_43        (undefined)
  75.  
  76.      If you have a 4.3 BSD system (as opposed to a 4.4 BSD system),
  77. this needs to be defined.  
  78.  
  79.  
  80. BSD_44        (defined)
  81.  
  82.      If you have a 4.4 BSD system (FreeBSD, BSD/OS, NetBSD, etc...),
  83. this needs to be defined.  
  84.  
  85. CMU_MACH    (undefined)
  86.      Define if you are running CMU's MACH. NeXT is handled as a BSD_43
  87. machine.
  88.  
  89. USG        (undefined)
  90.  
  91.      Compiles in code to support System V; some of these appear down
  92. below. 
  93.  
  94. SVR4        (undefined)
  95.  
  96.      Compiles in code to support System V Release 4
  97.  
  98. TLI        (undefined)
  99.      Compiles in code to support the Transport Layer Interface of System V
  100. Release 3 and later. 
  101.  
  102. **** The following four definitions have to do with the format of the ****
  103. **** news history file. You must select the same format for NNTP that ****
  104. **** you chose when you built your news software. If you don't, NNTP  ****
  105. **** will NOT WORK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ****
  106.  
  107. DBM        (undefined)
  108.  
  109.      If you don't have the ndbm routines in your standard library (i.e.,
  110. if you're not running 4.3 BSD (or later)), you'll have to define this; all it
  111. does is replace the ndbm calls with the earlier, unwieldy dbm calls.
  112.  
  113. >>> If you define DBM, be sure to edit server/Makefile to have  "-ldbm"
  114. >>> on the LIBS line, i.e.
  115.  
  116.     LIBS = -ldbm
  117. [This does not apply if you are compiling on the SGI IRIX platform.]
  118.  
  119.  
  120. NDBM        (defined)
  121.      Define if you have the 4.3BSD ndbm routines and used them to build your
  122. news software.
  123.  
  124. DBZ        (undefined)
  125.      Define this is you are using the DBZ libraries. If you DO define this,
  126. you will need to make alterations to makefile to insure that things will work.
  127. If you built your news software using DBZ, you MUST build NNTP with DBZ. Many
  128. people have success by use the cnews library as a link library.
  129.  
  130. USGHIST        (undefined)
  131.      Define if you don't use dbm/ndbm for the history file, but instead
  132. you use the USG-style history file format.  IF YOU DO NOT DEFINE ANY OF
  133. DBZ, DBM OR NDBM ABOVE, THIS IS THE DEFAULT.
  134.  
  135. CNEWS        (undefined)
  136.         If you're running CNEWS instead of BNEWS define this. NNTP will not
  137. work with CNEWS if you don't define this.
  138.  
  139. BATCHED_INPUT    (undefined)
  140.     If this is defined, then the CNews-style batched input is used
  141. to collect incoming articled into a file which periodically is sent to the
  142. incoming news processor. 
  143.  
  144. MSGID    (undefined)
  145.      Define this if you want to run a msgid daemon to keep track of recent
  146. message ids.  This helps to avoid duplication when you have many feed sites.
  147.  
  148. LAI_TCP        (undefined)
  149.     This should be defined if you are compiling on SCO Xenix with TCP/IP.
  150. It may work on other systems as well.
  151.  
  152. EXCELAN        (undefined)
  153.     This will compile in support for the EXCELAN EXOS TCP/IP routines.
  154. It is known to work with Unisys 5000-series computer.
  155.  
  156. U_LONG        (undefined)
  157.     Define this if your system does not know what a u_long is.
  158.  
  159. VOIDSIG        (defined)
  160.      This should be defined if your signals return void on your system.
  161. SunOS 4.X, Ultrix 3.X, Ultrix 4.x, Solaris, BSD 4.4 and IRIX return void.
  162. Most others return int.
  163.  
  164. MMAP        (undefined)
  165.     Define this if you run on a version of Unix that has the mmap() system
  166. call. SunOS and Solbourne's OS/MP are two versions of Unix that do. NOTE: Not
  167. all versions of MMAP are created equal. If you have a problem with NNTP and
  168. this is defined. Please undefine it, recompile, reinstall and try again.
  169.  
  170. DIRENT        (undefined)
  171.     Define this if you have dirent.h.
  172.  
  173. vfork        (undefined)
  174.  
  175.      If you DON'T have vfork, replace this line with:
  176.  
  177. #define    vfork    fork
  178.  
  179. If you DO have vfork, be sure that this remains undefined.
  180.  
  181. MINFREE        (4000)
  182.     This is the minimum number of kbytes or blocks (depending on what the
  183. system) that must be free on the news spool partition before nntp will allow
  184. an XFER command to function.
  185.  
  186. POSTBUFFER    (1000)
  187.     NNTP will allow posting until there is less than MINFREE-POSTBUFFER
  188. blocks or kbytes available. This allows posting to continue while XFERs are
  189. stopped.
  190.  
  191. MINFILES    (MINFREE/4)
  192.     This is the minimum number of inodes that must be available on the
  193. news spool partition before nntp will allow any function that will create 
  194. more files. If you define this, please be careful not to make it a large 
  195. number. I recommend something around MINFREE/4.
  196.  
  197. SETPROCTITLE    (undefined)
  198.     This will replace the process name with information about what nntp
  199. is doing. This is known to work on BSD-flavored Unix, but may not work on
  200. USG Unix.
  201.  
  202. IHAVE_DEBUG    (undefined)
  203.  
  204.      Enables logging of each message-id as it is offered via the IHAVE
  205. command.  This produces huge log files, but is useful if you suspect
  206. a site is repeatedly offering the same article to your site after you
  207. have rejected it.
  208.  
  209. SUBNET        (defined)
  210.      If you are running 4.3 BSD (or later) or have support for subnets on
  211. your local net, this will include subnet support for the access
  212. file.  Basically, a routine goes out and looks at all your ethernet
  213. interfaces, and figures out subnet masks from them.  It then
  214. uses these to resolve subnets from IP addresses.
  215.  
  216. DAMAGED_NETMASK    (undefined)
  217.  
  218.      4.3 supports subnet masks of any bit-width, but user programs
  219. are *very* hard pressed to deal with masks which are not a multiple
  220. of 8 bits wide.  If you have a weird netmask, define DAMAGED_NETMASK.
  221. The code which uses it is in server/subnet.c.
  222.  
  223. NETMASK        (undefined)
  224.  
  225.      The code in server/subnet.c wants to use 4BSD ioctls to determine
  226. the subnet masks for each network interface.  However, you may be able
  227. to support subnets without having such ioctls (HPUX is an example of
  228. such a system; SunOS 3.3 is another).  If you will be satisfied by
  229. having a compiled-in netmask, define NETMASK to be a hex constant
  230. describing your netmask (e.g., 0xffffff00).  You must also define
  231. SUBNET as well.
  232.  
  233. DECNET        (undefined)
  234.  
  235.      Compile in DECNET support into the server. This works under Ultrix (and
  236. not VMS!).
  237.  
  238. UMASK        (undefined)
  239.      This should be defined if you are running CNEWS and are concerned
  240. that batch files may be created that can be altered by anyone. Defining
  241. this as 022 should work safely for most systems, but experiment to be
  242. sure.
  243.  
  244. FAKESYSLOG    (undefined)
  245.  
  246.      This is useful if your system doesn't support syslog, but you'd
  247. like logging none the less.  By defining FAKESYSLOG to be the name of
  248. a file, e.g., "/usr/lib/news/nntplog", you can have all nntp messages
  249. logged to that file, ala syslog.  If you define FAKESYSLOG, you must
  250. define LOG and SYSLOG, below.  The code for the fake syslog routines
  251. are in ../server/fakesyslog.c, and are largely joe-code.
  252.  
  253. FAKEAPPEND    (undefined)
  254.     If your host supports the BSD fdopen() function and the O_APPEND flag
  255. to open(), you should define FAKEAPPEND with FAKESYSLOG so that
  256. multiple copies of nntpd don't trash the log with buffered fprintf's.
  257. NOTE: FAKEAPPEND does nothing if FAKESYSLOG is not defined.
  258.  
  259. SYSLOG        (LOG_NEWS)
  260.  
  261.      nntpd uses the syslog system to report errors, and optionally, to
  262. log usage statistics.  If SYSLOG is defined, errors will be
  263. reported via the syslog() library routine; if it is not defined, no errors
  264. will be reported.
  265.  
  266.      If you just define SYSLOG, only errors will be reported.  If you
  267. want more information, such as statistics, you should define LOG, below.
  268. Defining LOG will cause additional information besides errors to be
  269. logged via SYSLOG.
  270.  
  271.      If you have syslog(), define SYSLOG to be the name of the facility
  272. under which nntpd should log things.  If you are using FAKESYSLOG
  273. above, it really doesn't matter what facility name you choose; LOG_NEWS
  274. is fine.
  275.  
  276. LOG        (undefined)
  277.  
  278.      When LOG is defined, we log copious amounts of information via
  279. syslog to a special file.  One a busy system like ucbvax, this produces
  280. about 100K of log information per day.  Look in ../server/SYSLOG to
  281. get an idea of what will be logged.  You can use the scripts
  282. provided in ../support to produce statistics on your NNTP server if
  283. you run with LOG.
  284.  
  285. TIMEOUT        (2 hours)
  286.  
  287.      If a server is idle in command mode for TIMEOUT amount of time,
  288. it will close the connection with an error message.  This prevents
  289. old servers from clogging the system.  Timeout should be at least two
  290. hours so people can go eat lunch and leave an rn on their terminal.
  291.  
  292. XFER_TIMEOUT    (30 minutes)
  293.  
  294.      This is like TIMEOUT, above, but takes effect when the server is
  295. receiving news via IHAVE or POST.  If at least one line is not received
  296. in XFER_TIMEOUT amount of time, the server aborts with an error.
  297.  
  298. LISTGROUP    (defined)
  299.      Support the LISTGROUP addition to nntp used by many newsreaders
  300. to get a quick list of all the available article numbers in a group.
  301.  
  302. XHDR        (defined)
  303.      Enables the XHDR command, which is an extention of the NNTP spec.
  304. XHDR allows client programs to see header lines (e.g., subject) from
  305. an article or range of articles.  If you have overview files on your
  306. system this uses them to make the most common headers fetch must faster.
  307.  
  308. XOVER        (defined)
  309.      Defines whether we want to include the XOVER command, described
  310. in the top-level README file of this distribution.
  311.  
  312. OVER_XREFS    (defined)
  313.      Define this if your .overview files have Xref information in them.
  314. If this is different from your .overview files the data that NNTP generates
  315. on-the-fly (if needed) will not match the file data.
  316.  
  317. OVER_XREF_PREFIX    (defined)
  318.      If OVER_XREFS is defined, put the "xref: " prefix in front of the
  319. xref data.  This is the usual way of inserting the xref data into an
  320. overview file.
  321.  
  322. OVER_FMT_FILE    ("/usr/lib/news/overview.fmt")
  323.      This file is supplied to the client if they use a "LIST OVERVIEW.FMT"
  324. command.  A default version of this file is included with this distribution.
  325.  
  326. OVERVIEW_DIR    (undefined)
  327.      Define this if your overview files are in a separate hierarchy from
  328. your spool directory for news.  If each .overview file is in each group's
  329. spool directory, leave this undefined.
  330.  
  331. XROVER    (defined)
  332.     A new command to supply reference overview information.  This is a
  333. very compact stream of information that tells a newsreader how to link
  334. all the articles together without having to send as much information as
  335. the entire overview file.
  336.  
  337. ROVER_DIR    (undefined)
  338.      If your system maintains the reference overview files (.rover)
  339. and they aren't in the spool directory for each group, define this to
  340. point to their hierarchy.
  341.  
  342. XINDEX    (undefined)
  343.      Optional support for tin's index files.
  344.  
  345. XINDEX_DIR    ("/usr/spool/news/.index")
  346.      The directory for tin's index files, if used.
  347.  
  348. XTHREAD    (undefined)
  349.      Optional support for trn's thread files (maintained by mthreads).
  350.  
  351. THREAD_DIR    (undefined)
  352.      Define this if you have put trn's thread files in a separate
  353. hierarchy from the news spool.
  354.  
  355. LONG_THREAD_NAMES    (undefined)
  356.      Define this if you have mthreads using long thread file names instead
  357. of the directory hierarchy for thread files.
  358.  
  359. POSTER        ("usenet")
  360.      If your nntpd is run as root, nntpd will attempt to setuid()
  361. and setgid() to the uid and gid of whoever POSTER is defined as.
  362. If your nntpd isn't running as root (i.e., it might run as "usenet"),
  363. either undefine this, or define it to be a user which exists but
  364. is not used -- the setuid will fail in any event.
  365.  
  366. DOMAINMATCH    (defined)
  367.      Defined to allow the use of domain specifications in the nntp access
  368. file. Specifications for domains are of the form *.domain.name and can be
  369. used instead of individually naming hosts or networks.
  370.  
  371. AUTH        (defined)
  372.     Add the AUTHINFO extension. Read the file AUTHORIZATION in the root
  373. directory of the NNTP distribution for more information.
  374.  
  375. GENAUTH        (undefined)
  376.      Use this to define a directory where generic authenticators reside.
  377. Since the client gets to choose what programs to be issued, this directory
  378. MUST NOT contain anything else but authenticators.
  379.  
  380. PASSFILE    (/etc/nntp.sys)
  381.     This file contains the password authentication information that the
  382. client uses if AUTH is defined and in use.
  383.  
  384. ACCESS_FILE    ("/usr/lib/news/nntp_access")
  385.  
  386.      Specifies the location of the remote access file. See the manual entry,
  387. nntpd.8c, for a better explanation. A sample access file is in
  388. ../support/access_file.
  389.  
  390. ACTIVE_TIMES_FILE ("/usr/lib/news/active.times")
  391.      This needs to be defined to point at your news-software-maintained
  392. active.times file.  If you don't have an active.times file, you can either
  393. run acttimes (see the support directory) or point this at an empty file.
  394. If you do the latter, NEWGROUPS won't work, of course.
  395.  
  396. Next, we have some common files:
  397.  
  398. ACTIVE_FILE    ("/usr/lib/news/active")
  399.  
  400.      Specifies the location of the "active" file.
  401.  
  402. DISTRIBUTIONS_FILE  ("/usr/lib/news/distributions")
  403.      Specifies the location of the file that defines valid distributions for
  404. this site. The format of the file is usually the name of the distribution
  405. (e.g. "tx" for the state of Texas), some spaces or a tab, and a short descrip-
  406. tion of the area that the distribution covers (e.g. "The State of Texas"). This
  407. is used by the "LIST DISTRIBUTIONS" command.
  408.  
  409. SUBSCRIPTIONS_FILE  ("/usr/lib/news/subscriptions")
  410.      The default list of newsgroups for your site.  The client queries this
  411. file via LIST SUBSCRIPTIONS.
  412.  
  413. NEWSGROUPS_FILE  ("/usr/lib/news/newsgroups")
  414.      Specifies the location of the file that contains newsgroup descriptions.
  415. The format of the file is usually the name of the newsgroup, a tab, and a short
  416. description of the newsgroup (usually from the checkgroups control message).
  417. This file is used by the "LIST NEWSGROUPS" command.
  418.  
  419. HISTORY_FILE    ("/usr/lib/news/history")
  420.      Specifies the location of the "history" file. This is used with NEWNEWS
  421. and ARTICLE/HEAD/BODY/STAT when given an message-id argument.
  422.  
  423. SPOOLDIR    ("/usr/spool/news")
  424.      This is the directory where news is stored on the server.
  425.  
  426. INEWS        ("/usr/lib/news/inews")
  427.      Specifies the location of inews, for posting.  Note that this is NOT the
  428. same as the mini-inews in the inews directory supplied with the client NNTP
  429. distribution, which should only be installed on client machines.  INEWS should
  430. be the pathname of real, live, honest-to-God inews.  Your inews may be
  431. in a different place, such as /usr/bin/inews.
  432.  
  433. RNEWS        ("/usr/bin/rnews")
  434.      Specifies the location of the rnews program which is used for dealing with
  435. news received from other systems via the IHAVE command; it is often a link to
  436. inews.
  437.  
  438. ---- The following variables apply only if you are using C News batching. ----
  439.  
  440. NONEWSRUN    (undefined)
  441.     Define this only if you plan to use the daemon version of relaynews.
  442.  
  443. TOOBIG        (300000, unless NONEWSRUN is defined)
  444.     Under CNews-style batching, a file that is larger than this gets
  445. sent to be unbatched. (Size is in bytes.)
  446.  
  447. TOOMANY        (1024, unless NONEWSRUN is defined)
  448.     Under CNews-style batching, if the number of batched articles is
  449. bigger than this, the batch file gets unbatched.
  450.  
  451. TOOOLD        (5 minutes)
  452.     Under CNews-style batching, a file that is older than this gets
  453. sent to be unbatched.
  454.  
  455. COPYSIZE    (8192)
  456.     Under CNews-style batching, the number of bytes to copy at one time.
  457.  
  458. MAXDIGITS    (25)
  459.     
  460.  
  461. MAXSTR        (1024)
  462.  
  463. INDIR        ("/usr/spool/news/in.coming")
  464.     Under CNews-style batching, the directory in which the batching takes
  465. place.
  466.  
  467. BATCH_FILE    ("/usr/spool/news/in.coming/nntp.XXXXXX")
  468.     The filename template for batch files under CNews-style batching.
  469.  
  470. NEWSRUN        ("/usr/lib/newsbin/input/newsrun")
  471.     The name of the program to which batch files are fed once they are
  472. created under CNews-style unbatching.
  473. _________________________________________________________________________
  474. Look carefully before modifying any of these!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  475. -------------------------------------------------------------------------
  476.  
  477. FCNTL        (defined if SYSV is defined)
  478.  
  479.     Some systems define things like O_RDONLY, etc. in <fcntl.h>.
  480. If FCNTL is defined, <fcntl.h> will be included.
  481.  
  482. FTRUNCATE    (defined if dgux)
  483.     Use ftruncate() even if this is a  System V like machine.
  484.  
  485. NDIR        (defined if USG is defined)
  486.      Uses the ndir compatability library, and includes <ndir.h>.
  487.  
  488. READINTVL    (600 seconds)
  489.  
  490.      If the server is compiled with FASTFORK and ALONE, then this number
  491. tells how often to check if the active file has changed (and to read it in if
  492. it has changed since the last time).  See README in the "server" directory of
  493. the NNTP distribution.  If you are not compiled with FASTFORK and ALONE
  494. (hint: you're not going to), don't worry about this.
  495.  
  496. MAX_ARTICLES    (4096)
  497.     This is the maximum articles per newsgroup that nntp can handle
  498. if DYNAMIC_ART_ARRAY is not defined.
  499.